
/** 
*Copyright 2016 Yonyou Corporation Ltd. All Rights Reserved.
* This software is published under the terms of the Yonyou Software
* License version 1.0, a copy of which has been included with this
* distribution in the LICENSE.txt file.
*
* @Project Name : dms.function
*
* @File name : DAOUtil.java
*
* @Author : zhangxc
*
* @Date : 2016年7月6日
*
----------------------------------------------------------------------------------
*     Date       Who       Version     Comments
* 1. 2016年7月6日    zhangxc    1.0
*
*
*
*
----------------------------------------------------------------------------------
*/

package com.yonyou.cyxdms.sysAuth.service.utill;

import java.util.Locale;
import java.util.Map;

import com.yonyou.cyx.framework.util.bean.ApplicationContextHelper;
import com.yonyou.cyxdms.framework.bean.dto.user_info.LoginInfoDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * 定义数据库层的util 方法
 * 
 * @author zhangxc
 * @date 2016年7月6日
 */

public class DAOUtil {

	// 定义日志接口
	private static final Logger logger = LoggerFactory.getLogger(DAOUtil.class);

	/**
	 * 屏蔽私有构造方法
	 * 
	 * @author zhangxc
	 * @date 2017年1月15日
	 */
	private DAOUtil() {
	}

	/**
	 * 获得字段的本地化值
	 *
	 * @author zhangxc
	 * @date 2016年8月29日
	 * @return
	 */
	public static String getLocaleFieldValue(Map<String, Object> rowMap, String fieldName) {
		String dbLanguage = getdblanguage();
		if (dbLanguage == null) {
			return (String) rowMap.get(fieldName);
		} else {
			String returnValue;
			if ((returnValue = (String) rowMap.get(fieldName + "_" + dbLanguage)) != null) {
				return returnValue;
			}
			return (String) rowMap.get(fieldName + "_" + dbLanguage.toLowerCase());
		}
	}

	/**
	 * 获得当前
	 *
	 * @author zhangxc
	 * @date 2016年8月29日
	 * @return
	 */
	private static String getdblanguage() {
		LoginInfoDto loginInfo = ApplicationContextHelper.getBeanByType(LoginInfoDto.class);
		Locale locale = loginInfo.getLocale();
		if (locale != null) {
			String language = locale.getLanguage();
			return language.split("_")[0].toUpperCase();
		} else {
			return null;
		}
	}

}
